<template>
	<view class="help_pay" style="padding-bottom: 10upx;">
		<view class="part_two">
			<u-tabs :list="list" :is-scroll="false" active-color="#FF7F00" :current="current" @change="tabs">
			</u-tabs>
			<view class="tabs_box" :class="{dis:current == 0}">
				<view class="one_box">
					<view class="box_dian">
						<image src="../../static/image/mai.png"></image>
					</view>
					<view class="box_addres1" style="margin-top: 10upx;">
						<view class="adds">{{AddressRider}}</view>
					</view>
					<view class="box_image">
						<u-icon name="arrow-right" class="icon_you"></u-icon>
					</view>
				</view>
				<view class="box_jh">
					<image src="../../static/image/icon_qh.png"></image>
				</view>
				<!-- 收获地址 -->
				<view class="one_box">
					<view class="box_dian">
						<image src="../../static/image/icon_s.png"></image>
					</view>
					<view class="box_addres" @click="bindclose(1)">
						<view style="text-align: left;" v-if="Object.keys(takeAdd).length>0">
							<view class="add">{{takeAdd.address}}{{takeAdd.addressDetail}}</view>
							<view class="num">
								<view class="name">{{takeAdd.userName}}</view>
								<view class="number">{{takeAdd.userPhone}}</view>
							</view>
						</view>
						<view v-else class="text-right">请填写收货地址</view>
					</view>

					<view class="box_image">
						<u-icon name="arrow-right" class="icon_you"></u-icon>
					</view>
				</view>
			</view>
			<view class="tabs_box" :class="{dis:current == 1}">
				<view class="one_box" @click="bindtake(3)">
					<view class="box_dian">
						<image src="../../static/image/mai.png"></image>
					</view>
					<view class="box_addres" v-if="disinfo">
						<view style="text-align: left;">
							<view class="adds" v-if="disinfo.shipAddressDetail">{{disinfo.shipAddressDetail}}</view>
							<view class="adds text-right text-lg" v-else>请选择购买地址</view>
						</view>
					</view>
					<view class="box_image">
						<u-icon name="arrow-right" class="icon_you"></u-icon>
					</view>
				</view>
				<view class="box_jh">
					<image src="../../static/image/icon_qh.png"></image>
				</view>
				<!-- 收货地址 -->
				<view class="one_box" @click="bindclose(2)">
					<view class="box_dian">
						<image src="../../static/image/icon_s.png"></image>
					</view>
					<view class="box_addres" v-if="Object.keys(takeAdds).length>0">
						<view class="add">{{takeAdds.address}}{{takeAdds.addressDetail}}</view>
						<view class="num">
							<view class="name">{{takeAdds.userName}}</view>
							<view class="number">{{takeAdds.userPhone}}</view>
						</view>
					</view>
					<view class="box_addres1 flex-sub text-df text-right" v-else>请填写收货地址</view>
					<view class="box_image">
						<u-icon name="arrow-right" class="icon_you"></u-icon>
					</view>
				</view>
			</view>
			<view style="text-align:right;padding: 10upx;margin-right: 32upx;font-size: 24upx;" v-if="distance">
				预估跑腿距离：
				<text v-if="distance>1000">{{parseFloat(distance/1000).toFixed(1)}}km</text>
				<text v-else>{{distance}}m</text>
			</view>
		</view>

		<view class="part_one" style="margin-top: 20rpx;">
			<view class="pay_name">请填写帮买商品信息</view>
			<view class="pay_set" style="margin-top: 10upx;">
				<u-input v-model="values" type="textarea" :maxlength="100" placeholder='请填写餐品名称，份数，是否忌口等要求' />
			</view>
		</view>

		<view class="part_three">
			<u-form :model="forms" ref="uForm" label-position="left" :label-style="labelstyle">
				<u-form-item label="时间" right-icon="arrow-right">
					<u-input @click="onshowdata" :clearable="clearable" :disabled="true" v-model="forms.data"
						input-align="right" placeholder="请选择时间" />
				</u-form-item>
				<u-form-item label="预付商品费" right-icon="arrow-right">
					<u-input @click="onshowvalua" :type="types" v-model="forms.price" :clearable="clearable"
						input-align="right" placeholder="预估价格" @input="onKeyInput()" />
				</u-form-item>
				<u-form-item label="红包" right-icon="arrow-right">
					<u-input @click="onshowmoney" v-model="forms.hongbao" :disabled="true" :clearable="clearable"
						input-align="right" placeholder="请选择红包" />
				</u-form-item>
				<u-form-item label="小费" right-icon="arrow-right">
					<u-input v-model="forms.tip" type="number" :clearable="clearable" input-align="right"
						placeholder="接单更快 购买更加及时" @input="onKeyInput()" />
				</u-form-item>
			</u-form>
		</view>
		<view class="part_four" style="padding-bottom: 35rpx;">
			<view class="take_number">
				<view class="number_name">收货码</view>
				<view class="number_text">骑手送达时，需提供收货码，确保安全签收</view>
			</view>
			<view class="take_number_kg">
				<u-switch v-model="checked" size="40" active-color="#FF7F00" @change="codekg"></u-switch>
			</view>
		</view>
		<!-- <view class="part_four" v-if="price">
			<view class="take_number">
				<view class="number_name">预估跑腿费</view>

			</view>
			<view class="take_number_kg">
				¥{{price}}
			</view>
		</view> -->
		<view class="content_sure">
			<u-checkbox-group>
				<u-checkbox v-model="check" shape="circle" active-color="#FF7F00">同意并接受</u-checkbox>
			</u-checkbox-group>
			<view style="font-size: 25rpx;margin-left: -10rpx;" @click="binduserxieyi()">
				《跑腿代购服务协议》
			</view>
		</view>
		<view class="tabbar">
			<view class="paytut">
				<view>
					<view class="tabbarprice">
						<text v-if="totalprice == ''">￥{{price || 0}}</text>
						<text v-else>￥{{totalprice}}</text>
					</view>
					<view class="text-sm" style="margin-left: 35upx;color: #999;" v-if="price != 0" @click="moneylist(showmoneylist)">
						费用明细</view>
				</view>
				<view class="tabbarbtn">
					<view class="buts" @click="bindpay()">去下单</view>
				</view>
			</view>
		</view>
		
		<u-popup v-model="showmoneylist" mode="bottom" close-icon="close-circle" close-icon-pos="top-right"
			close-icon-color="#8f9298" close-icon-size="50">
			<view style="border-radius: 0upx 36upx 36upx 0upx;position: relative;" v-if="showmoneylist">
				<view style="position: relative;">
					<view class="data_title">费用明细</view>
					<view style="position: absolute;top: 30upx;left: 600upx;z-index: 999999;" @click="jifeixieyi()">
						<view style="font-size: 25rpx;color:#FF7F00;">
							《计费规则》
						</view>
					</view>
				</view>
				<view class="padding-lr">
					<view class="flex align-center justify-between padding-bottom-sm" v-if="price">
						<view>基础费用
							<text v-if="distance">
								(<text v-if="distance>1000">{{parseFloat(distance/1000).toFixed(1)}}km</text>
								<text v-else>{{distance}}m</text>)
							</text>
			
						</view>
						<view>{{price}}元</view>
					</view>
					<view class="flex align-center justify-between padding-bottom-sm" v-if="forms.price">
						<view>预付商品费</view>
						<view>{{forms.price}}元</view>
					</view>
					<view class="flex align-center justify-between padding-bottom-sm" v-if="dateMoney">
						<view>特殊时段费用</view>
						<view>{{dateMoney}}元</view>
					</view>
					<view class="flex align-center justify-between padding-bottom-sm" style="color:#FF7F00;"
						v-if="forms.hongbao">
						<view>优惠券优惠金额</view>
						<view>-{{forms.hongbao}}元</view>
					</view>
					<view class="flex align-center justify-between padding-bottom-sm" v-if="forms.tip">
						<view>小费</view>
						<view>{{forms.tip}}元</view>
					</view>
					<view class="flex align-center justify-between padding-bottom-sm">
						<view>总费用</view>
						<view>
							<text v-if="totalprice == ''">{{price || 0}}元</text>
							<text v-else>{{totalprice}}元</text>
						</view>
					</view>
				</view>
			</view>
		</u-popup>
		<!-- <view class="tabbar">
			<view class="tabbar_price">支付:
				<text v-if="!totalprice">￥{{price || 0}}</text>
				<text v-else>￥{{totalprice}}</text>
			</view>
			<view class="tabbar_btn">
				<view class="but" @click="bindpay()">发布并支付</view>
			</view>
		</view> -->

		<!-- 取件时间弹框 -->
		<u-picker mode="time" v-model="showdata" :default-selector='[0, 0]' cancel-tex="确认" :params="params"
			@confirm="confirm" @cancel="binddata"></u-picker>

		<!-- 红包弹框 -->
		<u-popup v-model="showmoney" mode="bottom" close-icon="close-circle" close-icon-pos="top-right"
			close-icon-color="#8f9298" close-icon-size="50" :closeable="closeable">
			<view class="popup_money">
				<view class="data_title">红包</view>
				<view class="data_select">
					<!-- 红包列表 -->
					<view class="money_box" v-for="(item,index) in hongbao" :key="index"
						v-if="Number(item.redPacketType)==0||Number(item.redPacketType)==indentType">
						<view class="box_tit">
							<view class="money_name">{{item.redPacketTitle}}</view>
							<view class="money_price">￥{{item.redPacketAmount}}</view>
						</view>
						<view class="money_data">有效期至{{item.expirationTime}}</view>
						<view class="money_line">
							<u-line direction="row" color="#E6E6E6" border-style="dashed" />
						</view>
						<view class="box_bottom">
							<view class="money_use">满{{item.minimumAmount}}元可使用</view>
							<view class="money_btn">
								<view class="lj_use" @click="bindhongindex(item.redPacketId,item.redPacketAmount)">
									立即使用</view>
								<view class="lj_use" @click="bindhongindex(item.redPacketId,item.redPacketAmount)"
									v-if="hongid">
									已选红包</view>
							</view>
						</view>
					</view>
					<!-- 暂无红包 -->
					<view class="image_box" v-if="hongbao.length==0">
						<image src="../../static/image/emety.png" style="width:100%;height: 350rpx;"></image>
						<view style="width: 100%;text-align: center;color: #ccc;">暂无红包</view>
					</view>
				</view>

			</view>
		</u-popup>

		<u-popup v-model="showpay" mode="bottom" close-icon="close-circle" close-icon-pos="top-right"
			close-icon-color="#8f9298" close-icon-size="50">
			<view class="popup_pay">
				<view class="bg margin-top padding-lr radius">
					<view style="padding: 0 20upx;margin-top: 36rpx;">
						<view
							style="display: flex;height: 100upx;align-items: center;padding: 20upx 0;justify-content: center;"
							v-for="(item,index) in openLists" :key='index'>
							<image :src="item.image" style="width: 55upx;height: 55upx;border-radius: 50upx;">
							</image>
							<view style="font-size: 30upx;margin-left: 20upx;width: 70%;">
								{{item.text}}
							</view>
							<radio-group name="openWay" style="margin-left: 45upx;" @tap='selectWay(item)'>
								<label class="tui-radio">
									<radio color="#FF7F00" :checked="openWay === item.id ? true : false" />
								</label>
							</radio-group>
						</view>
					</view>
				</view>
				<view class="pay_btn" @click="pay()">确认支付</view>
			</view>
		</u-popup>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				dateMoney: 0,
				dataday: 0,
				datanine: 0,
				openWay: 0,
				values: '',
				list: [{
					name: '骑手就近购买'
				}, {
					name: '指定购买地址'
				}],
				current: 0,
				checked: true,
				check: false,
				mobile: '',
				code: '',
				AddressRider: '骑手将在您附近3公里内购买',
				forms: {
					data: '立即送达',
					price: '',
					hongbao: '',
					tip: ''
				},
				clearable: false,
				showdata: false,

				showvalua: false,
				showmoney: false,
				showpay: false,
				value: '',
				type: 'text',
				types: 'number',
				border: true,
				params: {
					// year: true,
					// month: true,
					day: true,
					hour: true,
					minute: true,
					timestamp: true
				},
				takeAdd: {},
				takeAdds: {},
				disinfo: [],
				indentType: '3',
				price: 0,
				hongbao: '',
				redPacketId: '',
				helppay: '',
				distance: 3000,
				year: '',
				shipAddressDetail: '',
				buyTime: '',
				closeable: false,
				labelstyle: {
					whiteSpace: 'nowrap',
					fontWeight: 'bold',
					textIndent: '20rpx',
				},
				indentNumber: '',
				openLists: [],
				data: [],
				openWay: '',
				totalprice: '',
				itemCodeFlag: 0,
				hongid: false,
				tsTimeList: [],
				addressId: '',
				addressType: '',
				showmoneylist: false, //费用明细弹框
				jichuprice: '',
				price1: ''
			}
		},
		onLoad(e) {
			if(e.remarks){
				this.values = e.remarks
			}
			// #ifdef H5
			let ua = navigator.userAgent.toLowerCase();
			if (ua.indexOf('micromessenger') !== -1) {
				this.openLists = [{
					image: '../../static/image/icon_weixin.png',
					text: '微信',
					id: 2
				}, {
					image: '../../static/image/jinbi.png',
					text: '余额',
					id: 3
				}];
				this.openWay = 2;
			} else {
				this.openLists = [{
					image: '../../static/image/zhifubao.png',
					text: '支付宝',
					id: 1
				}, {
					image: '../../static/image/jinbi.png',
					text: '余额',
					id: 3
				}];
				this.openWay = 1;
			}
			// #endif

			// #ifdef APP-PLUS
			this.openLists = [{
				image: '../../static/image/zhifubao.png',
				text: '支付宝',
				id: 1
			}, {
				image: '../../static/image/icon_weixin.png',
				text: '微信',
				id: 2
			}, {
					image: '../../static/image/jinbi.png',
					text: '余额',
					id: 3
				}];
			this.openWay = 1;
			// #endif

			// #ifdef MP-WEIXIN
			this.openLists = [{
				image: '../../static/image/icon_weixin.png',
				text: '微信',
				id: 2
			}, {
					image: '../../static/image/jinbi.png',
					text: '余额',
					id: 3
				}];
			this.openWay = 2;
			// #endif
			// 判断进来的默认地址
			// 特殊时间段费用（22:00~23:59）额外加价 335
			// this.$Request.getT('/app/common/type/335').then(res => {
			// 	if (res.code == 0) {
			// 		if (res.data && res.data.value) {
			// 			this.dataday = res.data.value
			// 			var myDate = new Date();
			// 			// console.log(new Date().getDate())
			// 			let dataTime = {
			// 				day: myDate.getDate(),
			// 				hour: myDate.getHours(),
			// 				minute: myDate.getMinutes()
			// 			}
			// 			console.log(dataTime)
			// 			this.confirms(dataTime);
			// 		}
			// 	}
			// });
			// 特殊时间段费用（00:00~06:59）额外加价 336
			// this.$Request.getT('/app/common/type/336').then(res => {
			// 	if (res.code == 0) {
			// 		if (res.data && res.data.value) {
			// 			this.datanine = res.data.value
			// 			var myDate = new Date();
			// 			// console.log(new Date().getDate())
			// 			let dataTime = {
			// 				day: myDate.getDate(),
			// 				hour: myDate.getHours(),
			// 				minute: myDate.getMinutes()
			// 			}
			// 			console.log(dataTime)
			// 			this.confirms(dataTime);
			// 		}
			// 	}
			// });
			this.getSelectErrConfigurationList();
		},
		onShow() {
			console.log(this.addressId, '选择的地址id')
			this.addressId = uni.getStorageSync('addressId')
			this.addressType = uni.getStorageSync('addressType')
			if (this.addressId) {
				this.getAddress(this.addressId)
				uni.removeStorageSync('addressType')
				uni.removeStorageSync('addressId')
				if (this.current == 0) {
					this.orderjc()
				}
			}
		},
		methods: {
			getSelectErrConfigurationList() {
				this.$Request.getT('/app/errands/selectErrConfigurationList?runStatus=3').then(res => {
					if (res.code == 0 && res.data) {
						this.tsTimeList = res.data.records;
						
						this.dateMoney = 0
						this.tsTimeList.forEach(d => {
							if (this.isTimeBetween(d.startValue, d.endValue, '')) {
								this.dateMoney = d.runPrice;
								this.checkMoney();
							}
						});
						this.checkMoney();
					}
				});
			},
			confirms(e){
				if (e.hour >= 22) {
					this.dateMoney = this.dataday;
					this.checkMoney();
				} else if (e.hour < 7) {
					this.dateMoney = this.datanine;
					this.checkMoney();
				} else {
					this.dateMoney = 0;
					this.checkMoney();
				}
			},
			jifeixieyi() {
				this.showmoneylist = false;
				uni.navigateTo({
					url: '/pageA/userXieyi/jifeiXieyi'
				})
			},
			moneylist() {
				this.showmoneylist = !this.showmoneylist
			},
			// 跳转地址
			bindclose(index) {
				if (index == 2 && !this.disinfo) {
					uni.showToast({
						title: '请先选择指定购买地址',
						icon: 'none'
					})
					return
				}
				uni.navigateTo({
					url: '/pages/closeaddress/closeaddress?addressType=' + index
				})
			},
			// 查询地址
			getAddress(e) {
				let data = {
					addressId: e
				}
				this.$Request.getT('/app/indent/findAddressById', data).then(res => {
					if (res.code == 0) {
						if (this.current == 0) {
							this.distance = 3000
						} else {
							this.distance = 0
						}
						this.takeAdd = res.data
						this.takeAdds = res.data
						if (Object.keys(this.disinfo).length && Object.keys(this.takeAdds).length) {
							this.binddistance()
						}
					}
				});
			},
			// 距离计算
			binddistance() {
				this.disinfo = uni.getStorageSync('disinfo')[0]

				let ol = ''
				let od = ''
				let dl = ''
				let dd = ''
				if (this.current == 0) {

					ol = this.takeAdd.addressLongitude
					od = this.takeAdd.addressLatitude
					dl = this.takeAdd.addressLongitude
					dd = this.takeAdd.addressLatitude

				} else if (this.current == 1) {


					ol = this.disinfo.addressLatitude
					od = this.disinfo.addressLongitude
					dl = this.takeAdds.addressLatitude
					dd = this.takeAdds.addressLongitude
				}

				console.log('取货纬度:' + ol, '取货经度:' + od, '送货纬度:' + dl, '送货经度:' + dd)
				this.$Request.postT('/app/indent/distance?ol=' + ol + '&od=' + od + '&dl=' + dl + '&dd=' + dd).then(
					res => {
						if (res.code === 0) {
							//通过经纬度计算的距离
							this.distance = res.data
							// console.log(this.distance)
							// 计算跑腿费用
							this.orderjc()
						}
					});

			},
			// 开关
			codekg(e) {
				console.log(e)
				if (e == true) {
					this.itemCodeFlag = 0
				} else if (e == false) {
					this.itemCodeFlag = 1
				}
			},
			// 跑腿用户协议
			binduserxieyi() {
				uni.navigateTo({
					url: '/pageA/userXieyi/userXieyi'
				})
			},
			tabs(index) {
				this.takeAdds = {}
				// console.log(this.current)
				if (this.current == 0) {
					if (this.form && this.form.payaddress1) {
						this.shipAddressDetail = this.form.payaddress1
					}
					this.distance = 3000
					this.price = 0

				} else if (this.current == 1) {

					if (uni.getStorageSync('disinfo')) {
						this.shipAddressDetail = uni.getStorageSync('disinfo')[0].detailaddress
					}

					this.distance = 0
					this.price = 0.01
				}
				this.current = index;

			},
			// switch打开或者关闭时触发，值为true或者false
			// 即使不监听此事件，this.checked此时也会相应的变成true或者false
			change(status) {
				// console.log(status);
				
			},

			bindtake(index) {
				let that = this
				uni.chooseLocation({
					success: function(res) {
						// console.log(res)
						let disinfo = [{
							addressLatitude: res.latitude,
							addressLongitude: res.longitude,
							address: res.address,
							shipAddressDetail: res.name
						}]
						uni.setStorageSync('disinfo', disinfo)

						that.disinfo = uni.getStorageSync('disinfo')[0]
						// that.form.payaddress2 = that.disinfo.shipAddressDetail
						
						if (Object.keys(that.disinfo).length && Object.keys(that.takeAdds).length) {
							that.binddistance()
						}
					}
				});
			},
			confirm(e) {
				let curDate = new Date();
				this.year = curDate.getFullYear();
				this.month = curDate.getMonth();
				this.redPacketId = '';
				this.forms.hongbao = '';
				var myDate = new Date();

				if (parseInt(curDate) >= parseInt(e.timestamp * 1000)) {
					uni.showToast({
						title: '请选择正确时间',
						icon: 'none'
					})
				} else {
					this.buyTime = this.year + '-' + this.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + '00'
					this.forms.data = e.day + '号' + e.hour + ':' + e.minute
					console.log(e.hour >= '22' && e.hour <= '23')
					
					let that = this;
					this.dateMoney = 0;
					this.tsTimeList.forEach(d => {
						if (that.isTimeBetween(d.startValue, d.endValue, e.hour + ':' + e.minute)) {
							that.dateMoney = d.runPrice;
						}
					});
					this.checkMoney();
					// if (e.hour >= 22) {
					// 	this.dateMoney = this.dataday;
					// 	this.checkMoney();
					// } else if (e.hour < 7) {
					// 	this.dateMoney = this.datanine;
					// 	this.checkMoney();
					// } else {
					// 	this.dateMoney = 0;
					// 	this.checkMoney();
					// }
				}
			},
			isTimeBetween(start, end, nowTime) {
				let now = new Date();
				let startTime = new Date().setHours(start.split(':')[0], start.split(':')[1]);
				let endTime = new Date().setHours(end.split(':')[0], end.split(':')[1]);
				if (!nowTime) {
					nowTime = now.getTime();
				} else {
					nowTime = new Date().setHours(nowTime.split(':')[0], nowTime.split(':')[1]);
				}
				return nowTime - startTime >= 0 && endTime - nowTime >= 0;
			},
			onshowdata() {
				this.showdata = true
			},
			binddata(e) {
 				this.forms.data = '立即送达';
 				this.forms.hongbao = '';
 				this.forms.tip = '';
 				this.showdata = false
 			},
			onshowvalua() {
				this.showvalua = true
			},
			bindvalua() {
				this.showvalua = false
			},
			// 根据订单信息判断用户可用红包
			onshowmoney() {
				this.showmoney = true
				let data = {
					indentType: this.indentType, //订单类型
					indentBasicsMoney: this.price
				}
				this.$Request.postJson('/app/indent/findRedPacket', data).then(res => {
					// console.log(res)
					if (res.code === 0) {
						this.hongbao = res.data
						// console.log(this.hongbao)
					}
				});
			},
			checkMoney(){
				//  基础运费  price
				//	预估商品费 this.forms.price
				//  时间钱 this.dateMoney
				//  保价费 this.baojiamoney
				//  物品money this.wupinMoney
				//  红包金额 this.form.hongbao
				//  小费  this.form.tip
				// this.totalprice = (Number(this.price) + Number(this.dateMoney) + Number(this.forms.price) + Number(this.forms.tip) - Number(this.forms.hongbao)).toFixed(2)
				
				
			
				// this.price1 = (Number(price) + Number(this.forms.price) + Number(this.dateMoney) + Number(this.forms.tip)- Number(this.forms.hongbao))
				// 	.toFixed(2)
				
				let price1 = (Number(this.price) + Number(this.dateMoney) + Number(this.forms.price) + Number(this.forms.tip))
					.toFixed(2)
				
				let totalprice = (Number(price1) - Number(this.forms.hongbao)).toFixed(2)
				if (totalprice >= 0) {
					this.totalprice = totalprice;
					// this.price = this.totalprice;
				}else{
					this.totalprice = 0.01;
					// this.price = 0.01;
				}
			},
			// 判断红包使用id
			bindhongindex(id, price) {
				// console.log(id,price)
				this.hongid = false
				this.redPacketId = id
				this.forms.hongbao = price
				this.showmoney = false

				// let price1 = (Number(this.price1) ).toFixed(2)
				// console.log(price1, this.price1,this.forms.hongbao)
				// return
				// if (price1 <= 0) {
				// 	price1 = 0.01
				// }
				this.checkMoney();
				// this.totalprice = (Number(this.price) + Number(this.dateMoney) + Number(this.forms.price) + Number(this.forms.tip) - Number(this.forms.hongbao)).toFixed(2)

				// if (this.totalprice <= 0) {
				// 	this.totalprice = 0.01
				// }
			},

			// 计算订单基础价格
			orderjc() {
				let data = {
					indentType: this.indentType, //订单类型
					distance: this.distance, //距离
				}
				this.$Request.postJson('/app/indent/basicsMoney', data).then(res => {
					// console.log(res)
					if (res.code === 0) {
						//计算好的跑腿费用
						this.price = res.data.indentBasicsMoney
						this.helppay = res.data
						this.onKeyInput();
						// console.log(this.wpprice)
					}
				});
			},
			// 价格计算
			onKeyInput(e) {
				if (this.current == 0) {
					if (!this.takeAdd.address) {
						uni.showToast({
							title: '请填写收货地址',
							icon: 'none',
							duration: 2000
						});
						return;
					}
				}
				if (this.current == 1) {
					if (!this.disinfo.address) {
						uni.showToast({
							title: '请选择购买地址',
							icon: 'none',
							duration: 2000
						});
						return;
					}
					if (!this.takeAdds.address) {
						uni.showToast({
							title: '请填写收货地址',
							icon: 'none',
							duration: 2000
						});
						return;
					}
				}
				// let price = Number(this.price) - Number(this.forms.hongbao)
				// if (price <= 0) {
				// 	price = 0.01
				// }
				this.checkMoney();
				// this.totalprice = (Number(this.price) + Number(this.forms.price) + Number(this.dateMoney) + Number(this.forms
				// 	.tip) - Number(this.forms.hongbao)).toFixed(2)
				// this.price1 = (Number(price) + Number(this.forms.price) + Number(this.dateMoney) + Number(this.forms.tip)- Number(this.forms.hongbao))
				// 	.toFixed(2)

				// console.log(price)
				return

			},

			// 提交订单
			bindpay() {
				// if (!this.indentNumber) {
				// 	this.totalprice = (Number(this.price) + Number(this.forms.price) - Number(this.forms.hongbao) + Number(this.forms.tip)).toFixed(2)
				// }
				if (this.current == 0) {
					if (!this.takeAdd.address) {
						uni.showToast({
							title: '请填写收货地址',
							icon: 'none',
							duration: 2000
						});
						return;
					}
				}
				if (this.current == 1) {
					if (!this.disinfo.address) {
						uni.showToast({
							title: '请选择购买地址',
							icon: 'none',
							duration: 2000
						});
						return;
					}
					if (!this.takeAdds.address) {
						uni.showToast({
							title: '请填写收货地址',
							icon: 'none',
							duration: 2000
						});
						return;
					}
				}
				// if(this.forms.data === '请选择时间'){
				// 	uni.showToast({
				// 		title: '请选择时间',
				// 		icon: 'none',
				// 		duration: 2000
				// 	});
				// 	return
				// }
				if (this.values == '') {
					uni.showToast({
						title: '请填写帮买商品',
						icon: 'none',
						duration: 2000
					});
					return;
				}
				if (this.check == false) {
					uni.showToast({
						title: '跑腿代购服务协议',
						icon: 'none',
						duration: 2000
					});
					return;
				}
				if (this.current == 0) {
					let data = {
						indentType: this.indentType, //订单类型
						productDetails: this.values,
						buyType: this.current,
						shipAddressDetail: this.AddressRider,

						deliveryUserPhone: this.takeAdd.userPhone,
						deliveryUserName: this.takeAdd.userName,
						deliveryAddress: this.takeAdd.address,
						deilveryAddressDetail: this.takeAdd.addressDetail,
						deliveryAddressLatitude: this.takeAdd.addressLatitude,
						deliveryAddressLongitude: this.takeAdd.addressLongitude,
						sendOutTime: this.forms.data,
						// prepayMoney: this.price, //商品价格
						tip: this.forms.tip, //小费
						prepayMoney: this.forms.price,
						itemCodeFlag: this.itemCodeFlag,
						//     "itemCode": "收货码",
						//     "modeOfPayment": "",
						distance: this.distance, //距离（米）
						redPacketId: this.redPacketId, //红包id,
						indentBasicsMoney: this.indentBasicsMoney,
						userFine: this.helppay.userFine,
						riderFine: this.helppay.riderFine,
						errandMoney: this.helppay.errandMoney
					}
					this.$Request.postJson('/app/indent/addIndent', data).then(res => {
						// console.log(res)
						if (res.code == 0) {
							this.indentNumber = res.data.indentNumber
							this.showpay = true
							// // #ifdef MP-WEIXIN
							// this.openWay = 2
							// this.pay()
							// // #endif
							// // #ifndef MP-WEIXIN
							// this.showpay = true
							// // #endif

						}
					});
				}

				if (this.current == 1) {
					console.error(JSON.stringify(this.takeAdds))
					let data = {
						indentType: this.indentType, //订单类型
						productDetails: this.values,
						buyType: this.current,
						//收货人信息
						deliveryUserPhone: this.takeAdds.userPhone,
						deliveryUserName: this.takeAdds.userName,
						deliveryAddress: this.takeAdds.address,
						deilveryAddressDetail: this.takeAdds.addressDetail,
						deliveryAddressLatitude: this.takeAdds.addressLatitude,
						deliveryAddressLongitude: this.takeAdds.addressLongitude,

						//取货地址
						shipAddressDetail: this.disinfo.shipAddressDetail,
						shipAddressLatitude: this.disinfo.addressLatitude,
						shipAddressLongitude: this.disinfo.addressLongitude,
						shipAddress: this.disinfo.address,
						// shipUserName: this.disinfo.shipUserName,
						// shipUserPhone:this.disinfo.shipUserPhone,
						sendOutTime: this.forms.data,
						// prepayMoney: this.price, //商品价格
						tip: this.forms.tip, //小费
						prepayMoney: this.forms.price,
						itemCodeFlag: this.itemCodeFlag,
						//     "itemCode": "收货码",
						//     "modeOfPayment": "",
						distance: this.distance, //距离（米）
						redPacketId: this.redPacketId, //红包id,
						indentBasicsMoney: this.indentBasicsMoney,
						userFine: this.helppay.userFine,
						riderFine: this.helppay.riderFine,
						errandMoney: this.helppay.errandMoney
					}
					// console.log(data)
					this.$Request.postJson('/app/indent/addIndent', data).then(res => {
						// console.log(res)
						if (res.code == 0) {
							this.indentNumber = res.data.indentNumber
							this.showpay = true


						}
					});
					return;
				}
			},

			selectWay: function(item) {
				this.openWay = item.id;
			},
			pay() {
				// let indentNumber = this.indentNumber
				// console.log(data)
				if (this.openWay == 0) {
					this.$queue.showToast('请选择支付方式!')
					return;
				}

				if (this.openWay == 2) { //微信
					// #ifdef MP-WEIXIN
					// 微信小程序支付
					this.$Request.postJson("/app/wxPay/wxPayJsApiOrder?indentNumber=" + this.indentNumber).then(res => {
						console.log(res, '********')
						uni.showLoading({
							title: '支付中...'
						});
						if (res.code == 0) {
							console.log(this.openWay, '支付')
							uni.requestPayment({
								provider: 'wxpay',
								timeStamp: res.data.timestamp,
								nonceStr: res.data.noncestr,
								package: res.data.package,
								signType: res.data.signType,
								paySign: res.data.sign,
								success: function(suc) {
									console.log('success:' + JSON.stringify(suc));
									uni.showToast({
										title: '支付成功',
										icon: 'success'
									})
									uni.setStorageSync('current', 0)
									setTimeout(function() {
										uni.switchTab({
											url: '/pages/order/order',
										})
									}, 10)
								},
								fail: function(err) {
									console.log('fail:' + JSON.stringify(err));
									uni.showToast({
										title: '支付失败',
										icon: 'none'
									})
									uni.switchTab({
										url: '/pages/order/order'
									})
								}
							});

						}
					})
					// #endif
					// #ifdef H5
					let ua = navigator.userAgent.toLowerCase();
					if (ua.indexOf('micromessenger') !== -1) { //微信里打开
						this.$Request.postJson('/app/wxPay/wxPayMpOrder?indentNumber=' + this.indentNumber)
							.then(res => {
								console.log(res)
								if (res.code == 0) {
									console.log()
									this.callPay(res.data);
								} else {
									uni.showToast({
										icon: 'none',
										title: '支付失败!'
									});
									setTimeout(function() {
										uni.switchTab({
											url: '/pages/order/order',
										})
									}, 10)
								}
							});
					} else { //不是微信打开
						this.$Request.postJson('/app/wxPay/wxPayMpOrder?indentNumber=' + this.indentNumber)
							.then(
								res => {
									if (res.code == 0) {
										const div = document.createElement('div')
										div.innerHTML = res.data //此处form就是后台返回接收到的数据
										document.body.appendChild(div)
										document.forms[0].submit()
									} else {
										uni.showToast({
											icon: 'none',
											title: '支付失败!'
										});
										setTimeout(function() {
											uni.switchTab({
												url: '/pages/order/order',
											})
										}, 10)
									}
								});
					}
					// #endif

					// #ifdef APP-PLUS
					// 微信APP支付 根据订单id获取支付信息
					this.$Request.postT("/app/wxPay/payAppOrder", {
						indentNumber: this.indentNumber
					}).then(ret => {
						console.log(JSON.stringify(ret))
						this.isCheckPay(ret.code, 'wxpay', JSON.stringify(ret.data));
					});
					// #endif
				} else if(this.openWay == 1) {//支付宝
					// #ifdef H5
					this.$Request.postJson('/app/aliPay/payH5Order?indentNumber=' + this.indentNumber).then(
						res => {
							if (res.code == 0) {
								const div = document.createElement('div')
								div.innerHTML = res.data //此处form就是后台返回接收到的数据
								document.body.appendChild(div)
								document.forms[0].submit()
							} else {
								uni.showToast({
									icon: 'none',
									title: '支付失败!'
								});
								setTimeout(function() {
									uni.switchTab({
										url: '/pages/order/order',
									})
								}, 10)
							}
						});
					// #endif
					// #ifdef APP
					// APP支付宝支付
					this.$Request.postJson("/app/aliPay/payAppOrder?indentNumber=" + this.indentNumber).then(ret => {
						console.log(ret)
						this.isCheckPay(ret.code, 'alipay', ret.data);
					});
					// #endif

				}else{//余额支付
					let data = {
						indentNumber:this.indentNumber
					}
					this.$Request.postT('/app/userMoney/moneyPayIndent',data).then(
						res => {
							this.showpay = false;
							if (res.code == 0) {
								uni.showToast({
									title: '支付成功',
									icon: 'success'
								})
								uni.setStorageSync('current', 0)
								setTimeout(function() {
									uni.switchTab({
										url: '/pages/order/order',
									})
								}, 1000)
							} else {
								uni.showModal({
									title: '温馨提示',
									content: '' + res.msg,
									showCancel: false,
									cancelText: '确认',
									confirmText: '确认',
									success: res => {
										uni.switchTab({
											url: '/pages/order/order'
										})
									}
								});
							}
						});
				}

			},
			callPay: function(response) {
				if (typeof WeixinJSBridge === "undefined") {
					if (document.addEventListener) {
						document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady(response), false);
					} else if (document.attachEvent) {
						document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady(response));
						document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady(response));
					}
				} else {
					this.onBridgeReady(response);
				}
			},
			onBridgeReady: function(response) {
				let that = this;
				if (!response.package) {
					return;
				}
				WeixinJSBridge.invoke(
					'getBrandWCPayRequest', {
						"appId": response.appid, //公众号名称，由商户传入
						"timeStamp": response.timestamp, //时间戳，自1970年以来的秒数
						"nonceStr": response.noncestr, //随机串
						"package": response.package,
						"signType": response.signType, //微信签名方式：
						"paySign": response.sign //微信签名
					},
					function(res) {
						console.log(res, '/*-/*-/*-')
						if (res.err_msg === "get_brand_wcpay_request:ok") {
							// 使用以上方式判断前端返回,微信团队郑重提示：
							//res.err_msg将在用户支付成功后返回ok，但并不保证它绝对可靠。
							uni.showLoading({
								title: '支付成功'
							});
							setTimeout(function() {
								uni.hideLoading();
								uni.switchTab({
									url: '/pages/order/order'
								})
							}, 1000);
						} else {
							uni.hideLoading();
							setTimeout(function() {
								uni.switchTab({
									url: '/pages/order/order',
								})
							}, 10)
						}
						WeixinJSBridge.log(response.err_msg);
					}
				);
			},
			isCheckPay(code, name, order) {
				if (code == 0) {
					this.setPayment(name, order);
				} else {
					uni.hideLoading();
					uni.showToast({
						title: '支付信息有误',
						icon: 'none'
					});
					setTimeout(function() {
						uni.switchTab({
							url: '/pages/order/order',
						})
					}, 10)
				}
			},
			setPayment(name, order) {
				console.log(name, '*-*-*', order)
				uni.requestPayment({
					provider: name,
					orderInfo: order, //微信、支付宝订单数据
					success: function(res) {
						console.log(res)
						uni.hideLoading();
						uni.showLoading({
							title: '支付成功'
						});
						setTimeout(function() {
							uni.hideLoading();
							uni.switchTab({
								url: '/pages/order/order',
							})
						}, 1000);
					},
					fail: function(err) {
						console.log(err)
						uni.hideLoading();
						uni.showToast({
							icon: 'none',
							title: '支付失败!'
						});
						setTimeout(function() {
							uni.hideLoading();
							uni.switchTab({
								url: '/pages/order/order',
							})
						}, 1000);
					},
					complete() {
						uni.hideLoading();
					}
				});
			},
		}
	}
</script>

<style>
	body {
		background: #F2EDED;
	}

	/* #ifndef MP-WEIXIN */
	page {
		background: #F2EDED;
	}

	/* #endif */

	/* 取件时间弹框 */
	.popup_data {
		height: 600upx;
		width: 100%;
		position: relative;
	}

	.data_title {
		width: 92%;
		margin: 0 auto;
		font-size: 32upx;
		line-height: 105upx;
		font-weight: bold;
		letter-spacing: 2upx;
		position: relative;
		top: 0upx;
		z-index: 99991;
	}

	.data_btn {
		position: absolute;
		bottom: 28upx;
		width: 100%;
		z-index: 99992;
	}

	.btn {
		width: 90%;
		margin: 0 auto;
		height: 98upx;
		color: white;
		background: #FF7F00;
		border-radius: 20upx;
		text-align: center;
		line-height: 98upx;
		letter-spacing: 1upx;
	}

	.u-close {
		position: absolute;
		z-index: 999999 !important;
	}

	.u-picker-body {
		height: 700upx !important;
	}

	/* .u-picker-header {
		position: relative !important;
		top: 138upx;
		z-index: 99992;
	} */
	/* 物品信息弹框 */
	.popup_info {
		height: 1100upx;
		width: 100%;
		position: relative;
	}

	.data_items {
		width: 100%;
	}

	.item_box {
		width: 90%;
		margin: 0 auto;
	}

	.item_btn {
		border: 1upx solid #cccccc;
		border-radius: 78upx;
		width: 200upx;
		height: 80upx;
		text-align: center;
		line-height: 80upx;
		font-size: 28upx;
		margin-right: 10upx;
		margin-left: 10upx;
		margin-bottom: 20upx;
	}

	.item_btn:active {
		background: #ffd9b3;
		border: 2upx solid #ff7f00;
	}

	.item_type {
		display: flex;
		flex-wrap: wrap;
		margin-top: 20upx;
	}

	/* 物品保价弹框 */
	.valua_icon {
		width: 90%;
		position: absolute;
		bottom: 130upx;
		left: 40upx;
	}

	.input {
		width: 90%;
		margin: 0 auto;
	}

	.u-input--border {
		border-radius: 10upx;
		border-radius: 10upx;
		border: 2upx solid #F2F2F2 !important;
		background: #F2F2F2 !important;
	}

	.input_bg {
		width: 90%;
		margin: 0 auto;
		position: relative;
	}

	.input_bg image {
		width: 100%;
		height: 98upx;
	}

	.input_bg text {
		position: absolute;
		top: 30upx;
		left: 36upx;
		color: #FF7F00;
		font-size: 28upx;
	}

	/* 红包弹框 */
	.popup_money {
		/* height: 400upx; */
		width: 100%;
		height: 630rpx;
		position: relative;
		background: #F2EDED;
		padding-bottom: 45rpx;
		/* #ifndef MP-WEIXIN */
		height: 680rpx;
		/* #endif */

	}

	.uni-scroll-view,
	.uni-scroll-view-content {
		position: relative;
		width: 100%;
		height: 100%;
		background: #F2EDED;
	}

	.image_box {
		width: 40%;
		margin: 0 auto;
		margin-bottom: 110rpx;
	}

	.money_box {
		width: 93%;
		margin: 0 auto;
		background: #ffffff;
		border-radius: 16upx;
		height: 240upx;
		margin-top: 10rpx;
		/* margin-bottom: 35rpx; */
		/* margin-top: 20rpx; */
	}

	.box_tit {
		width: 90%;
		margin: 0 auto;
		height: 80upx;
		display: flex;
	}

	.money_name {
		flex: 1;
		display: flex;
		justify-content: left;
		align-items: center;
		font-size: 24upx;
		font-weight: bold;
		letter-spacing: 2upx;
	}

	.money_price {
		flex: 1;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		font-size: 36upx;
		font-weight: bold;
		color: red;
	}

	.money_data {
		color: #999999;
		font-size: 22upx;
		width: 90%;
		margin: 0 auto;
		margin-top: -10upx;
	}

	.u-line {
		width: 90% !important;
		border-bottom-width: 6upx !important;
		margin: 0 auto !important;
		margin-top: 24upx !important;
		margin-bottom: 24upx !important;
	}

	.box_bottom {
		width: 90%;
		margin: 0 auto;
		display: flex;
		height: 40upx;
	}

	.money_use {
		flex: 1;
		color: #999999;
		font-size: 22upx;
		display: flex;
		justify-content: left;
		align-items: center;
	}

	.lj_use {
		width: 160upx;
		border: 1upx solid #FF7F00;
		color: #FF7F00;
		text-align: center;
		line-height: 46upx;
		border-radius: 42upx;
		font-size: 20upx;
	}








	.help_pay {
		width: 100%;
		/* position: fixed;
		bottom: 120upx;
		left: 0upx;
		right: 0upx; */
	}

	.content {
		/* margin-top: -380upx; */
		/* position: relative; */
		/* z-index: 999; */
	}

	.part_one {
		width: 95%;
		margin: 0 auto;
		/* height: 190rpx; */
		background: #ffffff;
		border-radius: 20upx;
		padding: 25rpx 10rpx;
	}

	.pay_tit {
		width: 90%;
		margin: 0 auto;
		/* height: 200upx; */
		position: relative;
	}

	.pay_name {
		font-size: 32rpx;
		font-weight: bold;
		width: 95%;
		margin: 0 auto;
		letter-spacing: 1upx;
		/* padding-top: 30upx; */

	}

	.pay_set {
		color: #333333;
		font-size: 29upx;
		width: 95%;
		margin: 0 auto;
		/* margin-top: 20upx; */
	}

	.part_two {
		width: 95%;
		margin: 0 auto;
		padding: 20rpx 10rpx;
		background: #ffffff;
		border-radius: 15rpx;
		margin-top: 20rpx;
	}

	.tabs_box {
		display: none;
		margin-top: 10upx;
	}

	.dis {
		display: block;
		width: 100%;
		padding-bottom: 28rpx;
	}

	.part_three {
		width: 95%;
		margin: 0 auto;
		/* height: 335rpx; */
		background: #ffffff;
		border-radius: 20upx;
		margin-top: 20upx;
	}

	.u-form-item__body {
		position: relative !important;
	}

	.u-form-item--left {
		position: absolute !important;
		top: 30upx;
		left: 15rpx;
		font-size: 31rpx !important;
		font-weight: bold;
		letter-spacing: 2upx;
	}

	.u-form-item--right__content {
		margin-right: 20upx !important;
	}

	.u-form-item {
		line-height: 20upx !important;
		padding: 20rpx 0 !important;
	}

	.u-input__input {
		font-size: 31rpx !important;
	}

	.part_four {
		width: 95%;

		background: #ffffff;
		margin: 0 auto;
		border-radius: 20upx;
		display: flex;
		margin-top: 20upx;
	}

	.take_number {
		flex: 4;
	}

	.number_name {
		width: 90%;
		margin: 0 auto;
		font-size: 31upx;
		font-weight: bold;
		line-height: 80upx;

	}

	.number_text {
		width: 90%;
		margin: 0 auto;
		color: #999999;
		font-size: 25rpx;
		line-height: 20upx;
	}

	.take_number_kg {
		flex: 1;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.content_sure {
		display: flex;
		align-items: center;
		margin-bottom: 160rpx;
		margin-left: 30rpx;
		margin-top: 20rpx;
		/* #ifndef MP-WEIXIN */
		/* margin-bottom: 200px; */
		/* #endif */
	}

	.u-checkbox__label {
		font-size: 26rpx !important;
		letter-spacing: 2upx;
		color: #888888 !important;
	}


	.tabbar {
		width: 100%;
		background: #ffffff;
		position: fixed;
		bottom: 0upx;
		left: 0upx;
		right: 0upx;
		/* #ifndef MP-WEIXIN */
		position: fixed;
		bottom: 0upx;
		left: 0upx;
		right: 0upx;
		/* #endif */
		z-index: 99;
	}


	.paytut {
		display: flex;
		align-items: center;
		justify-content: space-between;
		background: #000;
		color: #fff;
		margin: 30upx;
		border-radius: 55upx;

	}

	.tabbarprice {
		/* flex: 1; */
		color: #fff;
		display: flex;
		justify-content: left;
		align-items: center;
		font-size: 30rpx;
		font-weight: bold;
		margin-left: 40upx;
	}

	.tabbarprice text {
		color: #fff;
		font-size: 38upx;
		font-weight: 500;
	}

	.tabbarbtn {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}

	.buts {
		background: #FF7F00;
		width: 230upx;
		height: 100upx;
		text-align: center;
		line-height: 100upx;
		border-radius: 0upx 60upx 60upx 0upx;
		color: white;
		font-size: 27rpx;
	}

	.actclass {
		background-color: #FFD9B3;
	}

	.popup_pay {
		width: 100%;
	}

	.pay_btn {
		width: 90%;
		margin: 20rpx auto 40rpx;
		text-align: center;
		background: #FF7F00;
		height: 80rpx;
		border-radius: 16rpx;
		color: #ffffff;
		line-height: 80rpx;
	}

	.one_box {
		width: 100%;
		/* height: 80upx; */
		/* background: #F5F5F5; */
		margin: 0 auto;
		border-radius: 12upx;
		display: flex;
		/* height: 100rpx; */

		/* #ifndef MP-WEIXIN */
		padding: 0px 15px;
		/* #endif */


	}

	.box_jh {
		width: 90%;
		margin: 0 auto;
		line-height: 70rpx;
	}

	.box_jh image {
		width: 30upx;
		height: 30upx;
	}

	.box_dian {
		/* flex: 1; */
		width: 15%;
		display: flex;
		justify-content: center;
		align-items: center;

	}

	.box_dian image {
		width: 45rpx;
		height: 45rpx;
	}

	.box_name {
		flex: 5;
		display: flex;
		justify-content: left;
		align-items: center;
		color: #333333;
		font-weight: 700;
	}

	.box_addres {
		/* flex: 5; */
		width: 80%;
		font-size: 32rpx;
		overflow: hidden;
	}

	.box_addres1 {
		/* flex: 5; */
		width: 80%;
		font-size: 32rpx;
		overflow: hidden;
		text-align: right;
	}

	.name {
		display: inline;
		font-size: 31rpx;
		color: #999999;
	}

	.number {
		display: initial;
		color: #999999;
		font-size: 31rpx;
		margin-left: 30upx;
	}

	.box_image {
		width: 15%;
		/* margin-right: 22rpx; */
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.icon_you {
		color: #c0c4cc;
	}
</style>
